<?php
// This file is part of BOINC.
// http://boinc.berkeley.edu
// Copyright (C) 2008 University of California
//
// BOINC is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// BOINC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see <http://www.gnu.org/licenses/>. 
//
// This file was modified by contributors of "BOINC Web Tweak" project.

require_once("../inc/boinc_db.inc");
require_once("../inc/util.inc");
require_once("../inc/host.inc");

function fail($msg) {
	echo "Error: $msg";
	page_tail();
	exit();
}

function get_host($hostid, $user) {
	$host = BoincHost::lookup_id($hostid);
	if (!$host || $host->userid != $user->id)
		fail("We have no record of that computer");
	return $host;
}

$user = get_logged_in_user();

page_head("Merge computer records");

$nhosts = get_int("nhosts");
$hostid = get_int("id_0");
$latest_host = get_host($hostid, $user);
for ($i=1; $i<$nhosts; $i++) {
	$var = "id_$i";
	$hostid = get_int($var, true);
	if (!$hostid) continue;
	$host = get_host($hostid, $user);
	if ($host->create_time > $latest_host->create_time) {
		$error = merge_hosts($latest_host, $host);
		if ($error) {
			echo "<br />$error\n";
			continue;
		}
		$latest_host = $host;
	} else {
		merge_hosts($host, $latest_host);
	}
	// reread latest_host from database since we just
	// updated its credits
	//
	$latest_host = BoincHost::lookup_id($latest_host->id);
}
echo '<p><a href="hosts_user.php">Return to list of your computers</a></p>';
page_tail();

//Header("Location: show_host_detail.php?hostid=$latest_host->id");

?>
